home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 May: Tool Chest / Developer CD Series May 1996 (Tool Chest) (Apple Computer) (1996).iso / Tool Chest / Development Tools & Languages / Macintosh Common Lisp Related / interfaces / PInterface Translator / PInterfaces / Movies.p < prev    next >
Encoding:
Text File  |  1993-09-16  |  46.4 KB  |  1,484 lines  |  [TEXT/MPS ]

  1.  
  2. {
  3. Created: Tuesday, October 13, 1992 at 12:36 PM
  4.  Movies.p
  5.  Pascal Interface to the Macintosh Libraries
  6.  
  7.   Copyright Apple Computer, Inc. 1991,1992
  8.   All rights reserved
  9.  
  10. }
  11.  
  12.  
  13. {$IFC UNDEFINED UsingIncludes}
  14. {$SETC UsingIncludes := 0}
  15. {$ENDC}
  16.  
  17. {$IFC NOT UsingIncludes}
  18.  UNIT Movies;
  19.  INTERFACE
  20. {$ENDC}
  21.  
  22. {$IFC UNDEFINED UsingMovies}
  23. {$SETC UsingMovies := 1}
  24.  
  25. {$I+}
  26. {$SETC MoviesIncludes := UsingIncludes}
  27. {$SETC UsingIncludes := 1}
  28. {$IFC UNDEFINED UsingQuickDraw}
  29. {$I $$Shell(PInterfaces)QuickDraw.p}
  30. {$ENDC}
  31. {$IFC UNDEFINED UsingAliases}
  32. {$I $$Shell(PInterfaces)Aliases.p}
  33. {$ENDC}
  34. {$IFC UNDEFINED UsingEvents}
  35. {$I $$Shell(PInterfaces)Events.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED UsingMenus}
  38. {$I $$Shell(PInterfaces)Menus.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED UsingComponents}
  41. {$I $$Shell(PInterfaces)Components.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED UsingImageCompression}
  44. {$I $$Shell(PInterfaces)ImageCompression.p}
  45. {$ENDC}
  46.  
  47. {$SETC UsingIncludes := MoviesIncludes}
  48.  
  49. CONST
  50. kFix1 = $10000;
  51.  
  52. gestaltQuickTime = 'qtim';
  53.  
  54. MovieFileType = 'MooV';
  55.  
  56. MediaHandlerType = 'mhlr';
  57. DataHandlerType = 'dhlr';
  58.  
  59. VideoMediaType = 'vide';
  60. SoundMediaType = 'soun';
  61. TextMediaType = 'text';
  62. GenericMediaType = 'gnrc';
  63.  
  64. DoTheRightThing = 0;
  65.  
  66. kFullVolume = $100;                { 8.8 format }
  67. kNoVolume = 0;
  68.  
  69.  
  70. TYPE
  71. Movie = ^MovieRecord;
  72. MovieRecord = RECORD
  73.  data: ARRAY [0..0] OF LONGINT;
  74.  END;
  75.  
  76. Track = ^TrackRecord;
  77. TrackRecord = RECORD
  78.  data: ARRAY [0..0] OF LONGINT;
  79.  END;
  80.  
  81. Media = ^MediaRecord;
  82. MediaRecord = RECORD
  83.  data: ARRAY [0..0] OF LONGINT;
  84.  END;
  85.  
  86. UserData = ^UserDataRecord;
  87. UserDataRecord = RECORD
  88.  data: ARRAY [0..0] OF LONGINT;
  89.  END;
  90.  
  91. TrackEditState = ^TrackEditStateRecord;
  92. TrackEditStateRecord = RECORD
  93.  data: ARRAY [0..0] OF LONGINT;
  94.  END;
  95.  
  96. MovieEditState = ^MovieEditStateRecord;
  97. MovieEditStateRecord = RECORD
  98.  data: ARRAY [0..0] OF LONGINT;
  99.  END;
  100.  
  101. SampleDescriptionPtr = ^SampleDescription;
  102. SampleDescriptionHandle = ^SampleDescriptionPtr;
  103. SampleDescription = RECORD
  104.  descSize: LONGINT;
  105.  dataFormat: LONGINT;
  106.  resvd1:LONGINT;
  107.  resvd2:INTEGER;
  108.  dataRefIndex:INTEGER;
  109.  END;
  110.  
  111. SoundDescriptionPtr = ^SoundDescription;
  112. SoundDescriptionHandle = ^SoundDescriptionPtr;
  113. SoundDescription = RECORD
  114.  descSize: LONGINT;            { total size of SoundDescription including extra data }
  115.  dataFormat: LONGINT;
  116.  resvd1: LONGINT;            { reserved for apple use }
  117.  resvd2: INTEGER;
  118.  dataRefIndex: INTEGER;
  119.  version: INTEGER;            { which version is this data }
  120.  revlevel: INTEGER;            { what version of that codec did this }
  121.  vendor: LONGINT;            { whose  codec compressed this data }
  122.  numChannels: INTEGER;        { number of channels of sound }
  123.  sampleSize: INTEGER;        { number of bits per sample }
  124.  compressionID: INTEGER;    { sound compression used, 0 if none }
  125.  packetSize: INTEGER;        { packet size for compression, 0 if no compression }
  126.  sampleRate: Fixed;            { sample rate sound is captured at }
  127.  END;
  128.  
  129. TextDescriptionPtr = ^TextDescription;
  130. TextDescriptionHandle = ^TextDescriptionPtr;
  131. TextDescription = RECORD
  132.  descSize: LONGINT;
  133.  dataFormat: LONGINT;
  134.  
  135.  resvd1:LONGINT;
  136.  resvd2:INTEGER;
  137.  dataRefIndex:INTEGER;
  138.  
  139.  displayFlags: LONGINT;
  140.  textJustification: LONGINT;
  141.     
  142.  bgColor: RGBColor;
  143.     
  144.  defaultTextBox: Rect;
  145.  defaultStyle: ScrpSTElement;
  146.  END;
  147.  
  148. CONST
  149.  
  150. dfDontDisplay = 1;            { Don't display the text}
  151. dfDontAutoScale = 2;        { Don't scale text as track bounds grows or shrinks}
  152. dfClipToTextBox = 4;        { Clip update to the textbox}
  153. dfUseMovieBGColor = 8;        { Set text background to movie's background color}
  154. dfShrinkTextBoxToFit = 16;    { Compute minimum box to fit the sample}
  155. dfScrollIn = 32;            { Scroll text in until last of text is in view }
  156. dfScrollOut = 64;            { Scroll text out until last of text is gone (if both set, scroll in then out)}
  157. dfHorizScroll = 128;        { Scroll text horizontally (otherwise it's vertical)}
  158. dfReverseScroll = 256;        { vert: scroll down rather than up; horiz: scroll backwards (justfication dependent)}
  159.  
  160. { progress messages }
  161. movieProgressOpen = 0;
  162. movieProgressUpdatePercent = 1;
  163. movieProgressClose = 2;
  164.  
  165.  
  166. { progress operations }
  167. progressOpFlatten = 1;
  168. progressOpInsertTrackSegment = 2;
  169. progressOpInsertMovieSegment = 3;
  170. progressOpPaste = 4;
  171. progressOpAddMovieSelection = 5;
  172. progressOpCopy = 6;
  173. progressOpCut = 7;
  174. progressOpLoadMovieIntoRam = 8;
  175. progressOpLoadTrackIntoRam = 9;
  176. progressOpLoadMediaIntoRam = 10;
  177. progressOpImportMovie = 11;
  178. progressOpExportMovie = 12;
  179.  
  180. { media quality settings }
  181. mediaQualityDraft = $0000;
  182. mediaQualityNormal = $0040;
  183. mediaQualityBetter = $0080;
  184. mediaQualityBest = $00C0;
  185.  
  186. TYPE
  187. MovieRgnCoverProc = ProcPtr;
  188. MovieProgressProcPtr = ProcPtr;
  189.  
  190.  
  191. MediaHandler = ComponentInstance;
  192. MediaHandlerComponent = Component;
  193. DataHandler = ComponentInstance;
  194. DataHandlerComponent = Component;
  195. HandlerError = ComponentResult;
  196.  
  197. TimeValue = LONGINT;
  198. TimeScale = LONGINT;
  199.  
  200. Int64 = RECORD
  201.  hi: LONGINT;
  202.  lo: LONGINT;
  203.  END;
  204.  
  205. CompTimeValue = Int64;
  206.  
  207. CONST
  208. loopTimeBase = 1;
  209. palindromeLoopTimeBase = 2;
  210.  
  211. TYPE
  212. { TimeBase Routines }
  213. TimeBaseFlags = LONGINT;
  214.  
  215. TimeBase = ^TimeBaseRecord;
  216. TimeBaseRecord = RECORD
  217.  data: ARRAY [0..0] OF LONGINT;
  218.  END;
  219.  
  220. QTCallBack = ^CallBackRecord;
  221. CallBackRecord = RECORD
  222.  data: ARRAY [0..0] OF LONGINT;
  223.  END;
  224.  
  225.  
  226. TimeRecord = RECORD
  227.  value: CompTimeValue;
  228.  scale: TimeScale;
  229.  base: TimeBase;
  230.  END;
  231.  
  232.  
  233. CONST
  234. triggerTimeFwd         = $0001;        { when curTime exceeds triggerTime going forward }
  235. triggerTimeBwd         = $0002;        { when curTime exceeds triggerTime going backwards }
  236. triggerTimeEither     = $0003;        { when curTime exceeds triggerTime going either direction }
  237. triggerRateLT         = $0004;        { when rate changes to less than trigger value }
  238. triggerRateGT         = $0008;        { when rate changes to greater than trigger value }
  239. triggerRateEqual     = $0010;    { when rate changes to equal trigger value }
  240. triggerRateLTE         = $0014;
  241. triggerRateGTE         = $0018;
  242. triggerRateNotEqual = $001C;
  243. triggerRateChange     = 0;
  244. triggerAtStart        = $0001;
  245. triggerAtStop        = $0002;
  246.  
  247. TYPE
  248. QTCallBackFlags = Byte;
  249.  
  250. CONST
  251. timeBaseBeforeStartTime = 1;
  252. timeBaseAfterStopTime = 2;
  253.  
  254. TYPE
  255. TimeBaseStatus = LONGINT;
  256.  
  257. CONST
  258. callBackAtTime         = 1;
  259. callBackAtRate         = 2;
  260. callBackAtTimeJump     = 3;
  261. callBackAtExtremes     = 4;
  262. callBackAtInterrupt = $8000;
  263.  
  264. TYPE
  265. QTCallBackType = Byte;
  266. QTCallBackProc = ProcPtr;
  267.  
  268. CONST
  269. qtcbNeedsRateChanges         = 1;
  270. qtcbNeedsTimeChanges         = 2;
  271. qtcbNeedsStartStopChanges     = 4;
  272.  
  273. TYPE
  274. { CallBack equates }
  275. QTCallBackHeader = RECORD
  276.  callBackFlags    : LONGINT;
  277.  reserved1        : LONGINT;
  278.  qtPrivate        : PACKED ARRAY [0..39] OF Byte;
  279.  END;
  280.  
  281.  
  282. CONST 
  283. { loadintoram flags }
  284. keepInRam = 1;
  285. unkeepInRam = 2;
  286. flushFromRam = 4;
  287. loadForwardTrackEdits = 8;
  288. loadBackwardTrackEdits = 16;
  289.  
  290. TYPE
  291. MoviePreviewCallOutProc = ProcPtr;
  292. MovieController = ComponentInstance;
  293.  
  294. CONST
  295. newMovieActive = $1;
  296. newMovieDontResolveDataRefs = $2;
  297. newMovieDontAskUnresolvedDataRefs = $4;
  298. newMovieDontAutoAlternates = $8;
  299.  
  300. trackUsageInMovie = $2;
  301. trackUsageInPreview = $4;
  302. trackUsageInPoster = $8;
  303.  
  304. mediaSampleNotSync = 1;
  305. mediaSampleShadowSync = 2;
  306.  
  307. pasteInParallel = 1;
  308.  
  309. nextTimeMediaSample = $1;
  310. nextTimeMediaEdit = $2;
  311. nextTimeTrackEdit = $4;
  312. nextTimeSyncSample = $8;
  313. nextTimeEdgeOK = $2000;
  314. nextTimeIgnoreActiveSegment = $4000;
  315.  
  316. TYPE 
  317. nextTimeFlagsEnum = Byte;
  318.  
  319. CONST
  320. createMovieFileDeleteCurFile = $80000000;
  321. createMovieFileDontCreateMovie = $40000000;
  322. createMovieFileDontOpenFile = $20000000;
  323.  
  324. TYPE 
  325. createMovieFileFlagsEnum = LONGINT;
  326.  
  327. CONST
  328. flattenAddMovieToDataFork = $1;
  329. flattenActiveTracksOnly = $4;
  330. flattenDontInterleaveFlatten = $8;
  331.  
  332. TYPE
  333. movieFlattenFlagsEnum = LONGINT;
  334.  
  335. CONST
  336. movieInDataForkResID = -1;     { magic res id }
  337.  
  338. movieScrapDontZeroScrap = $1;
  339. movieScrapOnlyPutMovie = $2;
  340.  
  341.  
  342. hintsScrubMode = $1;
  343. hintsUseScreenBuffer = $20;
  344. hintsAllowInterlace = $40;
  345. hintsUseSoundLerp = $80;
  346.  
  347. TYPE
  348. playHintsEnum = LONGINT;
  349.  
  350. CONST
  351. mediaHandlerFlagGenericClient = 1;
  352.  
  353. TYPE
  354. mediaHandlerFlagsEnum = LONGINT;
  355.  
  356. {  Initialization Routines  }
  357. FUNCTION EnterMovies: OSErr;
  358.  INLINE $303C,$1,$AAAA;
  359. PROCEDURE ExitMovies;
  360.  INLINE $303C,$2,$AAAA;
  361.  
  362. {  error Routines  }
  363.  
  364. TYPE
  365. ErrorProcPtr = ProcPtr;
  366.  
  367. FUNCTION GetMoviesError: OSErr;
  368.  INLINE $303C,$3,$AAAA;
  369. PROCEDURE ClearMoviesStickyError;
  370.  INLINE $303C,$DE,$AAAA;
  371. FUNCTION GetMoviesStickyError: OSErr;
  372.  INLINE $303C,$4,$AAAA;
  373. PROCEDURE SetMoviesErrorProc(errProc: ErrorProcPtr;refcon: LONGINT);
  374.  INLINE $303C,$EF,$AAAA;
  375.  
  376.  
  377.  
  378. {  Idle Routines  }
  379. PROCEDURE MoviesTask(m: Movie;maxMilliSecToUse: LONGINT);
  380.  INLINE $303C,$5,$AAAA;
  381. FUNCTION PrerollMovie(m: Movie;time: TimeValue;Rate: Fixed): OSErr;
  382.  INLINE $303C,$6,$AAAA;
  383. FUNCTION LoadMovieIntoRam(m: Movie;time: TimeValue;duration: TimeValue;
  384.  flags: LONGINT): OSErr;
  385.  INLINE $303C,$7,$AAAA;
  386. FUNCTION LoadTrackIntoRam(t: Track;time: TimeValue;duration: TimeValue;
  387.  flags: LONGINT): OSErr;
  388.  INLINE $303C,$16E,$AAAA;
  389. FUNCTION LoadMediaIntoRam(m: Media;time: TimeValue;duration: TimeValue;
  390.  flags: LONGINT): OSErr;
  391.  INLINE $303C,$8,$AAAA;
  392.  
  393. PROCEDURE SetMovieActive(m: Movie;active: BOOLEAN);
  394.  INLINE $303C,$9,$AAAA;
  395. FUNCTION GetMovieActive(m: Movie): BOOLEAN;
  396.  INLINE $303C,$A,$AAAA;
  397.  
  398. { Calls for playing movies }
  399. PROCEDURE StartMovie(m: Movie);
  400.  INLINE $303C,$B,$AAAA;
  401. PROCEDURE StopMovie(m: Movie);
  402.  INLINE $303C,$C,$AAAA;
  403. PROCEDURE GoToBeginningOfMovie(m: Movie);
  404.  INLINE $303C,$D,$AAAA;
  405. PROCEDURE GoToEndOfMovie(m: Movie);
  406.  INLINE $303C,$E,$AAAA;
  407. FUNCTION IsMovieDone(m: Movie): BOOLEAN;
  408.  INLINE $303C,$DD,$AAAA;
  409.  
  410. FUNCTION GetMoviePreviewMode(m: Movie): BOOLEAN;
  411.  INLINE $303C,$F,$AAAA;
  412. PROCEDURE SetMoviePreviewMode(m: Movie;usePreview: BOOLEAN);
  413.  INLINE $303C,$10,$AAAA;
  414. PROCEDURE ShowMoviePoster(m: Movie);
  415.  INLINE $303C,$11,$AAAA;
  416. PROCEDURE PlayMoviePreview(m: Movie;callOutProc: MoviePreviewCallOutProc;
  417.  refcon: LONGINT);
  418.  INLINE $303C,$F2,$AAAA;
  419.  
  420. { calls for controlling movies & tracks which are playing }
  421. {  movie TimeBase Routines  }
  422. FUNCTION GetMovieTimeBase(m: Movie): TimeBase;
  423.  INLINE $303C,$12,$AAAA;
  424.  
  425. PROCEDURE SetMovieMasterTimeBase(m: Movie;tb: TimeBase;slaveZero: TimeRecord);
  426.  INLINE $303C,$167,$AAAA;
  427. PROCEDURE SetMovieMasterClock(m: Movie;clockMeister: Component;slaveZero: TimeRecord);
  428.  INLINE $303C,$168,$AAAA;
  429.  
  430.  
  431. PROCEDURE GetMovieGWorld(m: Movie;VAR port: CGrafPtr;VAR gdh: GDHandle);
  432.  INLINE $303C,$15,$AAAA;
  433. PROCEDURE SetMovieGWorld(m: Movie;port: CGrafPtr;gdh: GDHandle);
  434.  INLINE $303C,$16,$AAAA;
  435.  
  436. {  Movie PICT Routines  }
  437. FUNCTION GetMoviePict(m: Movie;time: TimeValue): PicHandle;
  438.  INLINE $303C,$1D,$AAAA;
  439. FUNCTION GetTrackPict(t: Track;time: TimeValue): PicHandle;
  440.  INLINE $303C,$1E,$AAAA;
  441.  
  442. FUNCTION GetMoviePosterPict(m: Movie): PicHandle;
  443.  INLINE $303C,$F7,$AAAA;
  444.  
  445. FUNCTION UpdateMovie(m: Movie): OSErr;
  446.  INLINE $303C,$1F,$AAAA;
  447.  
  448.  
  449. {  spatial movie Routines  }
  450. PROCEDURE GetMovieBox(m: Movie;VAR boxRect: Rect);
  451.  INLINE $303C,$F9,$AAAA;
  452. PROCEDURE SetMovieBox(m: Movie;boxRect: Rect);
  453.  INLINE $303C,$FA,$AAAA;
  454.  
  455.  
  456. {  movie display clip  }
  457. FUNCTION GetMovieDisplayClipRgn(m: Movie): RgnHandle;
  458.  INLINE $303C,$FC,$AAAA;
  459. PROCEDURE SetMovieDisplayClipRgn(m: Movie;theClip: RgnHandle);
  460.  INLINE $303C,$FD,$AAAA;
  461.  
  462.  
  463. {  movie clip  }
  464. FUNCTION GetMovieClipRgn(m: Movie): RgnHandle;
  465.  INLINE $303C,$100,$AAAA;
  466. PROCEDURE SetMovieClipRgn(m: Movie;theClip: RgnHandle);
  467.  INLINE $303C,$101,$AAAA;
  468.  
  469.  
  470. {  track clip  }
  471. FUNCTION GetTrackClipRgn(t: Track): RgnHandle;
  472.  INLINE $303C,$102,$AAAA;
  473. PROCEDURE SetTrackClipRgn(t: Track;theClip: RgnHandle);
  474.  INLINE $303C,$103,$AAAA;
  475.  
  476.  
  477. {  bounds in display space  }
  478. FUNCTION GetMovieDisplayBoundsRgn(m: Movie): RgnHandle;
  479.  INLINE $303C,$FB,$AAAA;
  480. FUNCTION GetTrackDisplayBoundsRgn(t: Track): RgnHandle;
  481.  INLINE $303C,$112,$AAAA;
  482.  
  483.  
  484. {  bounds in movie space  }
  485. FUNCTION GetMovieBoundsRgn(m: Movie): RgnHandle;
  486.  INLINE $303C,$FE,$AAAA;
  487. FUNCTION GetTrackMovieBoundsRgn(t: Track): RgnHandle;
  488.  INLINE $303C,$FF,$AAAA;
  489.  
  490.  
  491. {  bounds in track space  }
  492. FUNCTION GetTrackBoundsRgn(t: Track): RgnHandle;
  493.  INLINE $303C,$111,$AAAA;
  494.  
  495. {  mattes - always in track space  }
  496. FUNCTION GetTrackMatte(t: Track): PixMapHandle;
  497.  INLINE $303C,$115,$AAAA;
  498. PROCEDURE SetTrackMatte(t: Track;theMatte: PixMapHandle);
  499.  INLINE $303C,$116,$AAAA;
  500. PROCEDURE DisposeMatte(theMatte: PixMapHandle);
  501.  INLINE $303C,$14A,$AAAA;
  502.  
  503.  
  504. FUNCTION NewMovie(newMovieFlags: LONGINT): Movie;
  505.  INLINE $303C,$187,$AAAA;
  506. FUNCTION PutMovieIntoHandle(m: Movie;h: Handle): OSErr;
  507.  INLINE $303C,$22,$AAAA;
  508. FUNCTION PutMovieIntoDataFork(m: Movie; fRefNum: INTEGER; offset: LONGINT; maxSize: LONGINT): OSErr;
  509.  INLINE $303C,$1B4,$AAAA;
  510. PROCEDURE DisposeMovie(m: Movie);
  511.  INLINE $303C,$23,$AAAA;
  512.  
  513.  
  514. {  Movie Routines  }
  515. FUNCTION GetMovieCreationTime(m: Movie): LONGINT;
  516.  INLINE $303C,$26,$AAAA;
  517. FUNCTION GetMovieModificationTime(m: Movie): LONGINT;
  518.  INLINE $303C,$27,$AAAA;
  519.  
  520. FUNCTION GetMovieTimeScale(m: Movie): TimeScale;
  521.  INLINE $303C,$29,$AAAA;
  522. PROCEDURE SetMovieTimeScale(m: Movie;timeScale: TimeScale);
  523.  INLINE $303C,$2A,$AAAA;
  524.  
  525. FUNCTION GetMovieDuration(m: Movie): TimeValue;
  526.  INLINE $303C,$2B,$AAAA;
  527.  
  528. FUNCTION GetMovieRate(m: Movie): Fixed;
  529.  INLINE $303C,$2C,$AAAA;
  530. PROCEDURE SetMovieRate(m: Movie;rate: Fixed);
  531.  INLINE $303C,$2D,$AAAA;
  532.  
  533. FUNCTION GetMoviePreferredRate(m: Movie): Fixed;
  534.  INLINE $303C,$F3,$AAAA;
  535. PROCEDURE SetMoviePreferredRate(m: Movie;rate: Fixed);
  536.  INLINE $303C,$F4,$AAAA;
  537.  
  538. FUNCTION GetMoviePreferredVolume(m: Movie): INTEGER;
  539.  INLINE $303C,$F5,$AAAA;
  540. PROCEDURE SetMoviePreferredVolume(m: Movie;volume: INTEGER);
  541.  INLINE $303C,$F6,$AAAA;
  542.  
  543. FUNCTION GetMovieVolume(m: Movie): INTEGER;
  544.  INLINE $303C,$2E,$AAAA;
  545. PROCEDURE SetMovieVolume(m: Movie;volume: INTEGER);
  546.  INLINE $303C,$2F,$AAAA;
  547.  
  548. PROCEDURE GetMovieMatrix(m: Movie;VAR matrix: MatrixRecord);
  549.  INLINE $303C,$31,$AAAA;
  550. PROCEDURE SetMovieMatrix(m: Movie;matrix: MatrixRecord);
  551.  INLINE $303C,$32,$AAAA;
  552.  
  553. PROCEDURE GetMoviePreviewTime(m: Movie;VAR previewTime: TimeValue;VAR previewDuration: TimeValue);
  554.  INLINE $303C,$33,$AAAA;
  555. PROCEDURE SetMoviePreviewTime(m: Movie;previewTime: TimeValue;previewDuration: TimeValue);
  556.  INLINE $303C,$34,$AAAA;
  557.  
  558. FUNCTION GetMoviePosterTime(m: Movie): TimeValue;
  559.  INLINE $303C,$35,$AAAA;
  560. PROCEDURE SetMoviePosterTime(m: Movie;posterTime: TimeValue);
  561.  INLINE $303C,$36,$AAAA;
  562.  
  563. PROCEDURE GetMovieSelection(m: Movie;VAR selectionTime: TimeValue;VAR selectionDuration: TimeValue);
  564.  INLINE $303C,$37,$AAAA;
  565. PROCEDURE SetMovieSelection(m: Movie;selectionTime: TimeValue;selectionDuration: TimeValue);
  566.  INLINE $303C,$38,$AAAA;
  567.  
  568. PROCEDURE SetMovieActiveSegment(m: Movie;startTime: TimeValue;duration: TimeValue);
  569.  INLINE $303C,$15C,$AAAA;
  570. PROCEDURE GetMovieActiveSegment(m: Movie;VAR startTime: TimeValue;VAR duration: TimeValue);
  571.  INLINE $303C,$15D,$AAAA;
  572.  
  573. FUNCTION GetMovieTime(m: Movie;VAR currentTime: TimeRecord): TimeValue;
  574.  INLINE $303C,$39,$AAAA;
  575. PROCEDURE SetMovieTime(m: Movie;newtime: TimeRecord);
  576.  INLINE $303C,$3C,$AAAA;
  577. PROCEDURE SetMovieTimeValue(m: Movie;newtime: TimeValue);
  578.  INLINE $303C,$3D,$AAAA;
  579. FUNCTION GetMovieUserData(m: Movie): UserData;
  580.  INLINE $303C,$3E,$AAAA;
  581.  
  582. {  Movie/Track/Media finding Routines  }
  583. FUNCTION GetMovieTrackCount(m: Movie): LONGINT;
  584.  INLINE $303C,$3F,$AAAA;
  585. FUNCTION GetMovieTrack(m: Movie;trackID: LONGINT): Track;
  586.  INLINE $303C,$40,$AAAA;
  587.  
  588. FUNCTION GetMovieIndTrack(m: Movie;index: LONGINT): Track;
  589.  INLINE $303C,$117,$AAAA;
  590.  
  591. FUNCTION GetTrackID(t: Track): LONGINT;
  592.  INLINE $303C,$127,$AAAA;
  593.  
  594. FUNCTION GetTrackMovie(t: Track): Movie;
  595.  INLINE $303C,$D0,$AAAA;
  596.  
  597.  
  598. {  Track creation Routines  }
  599. FUNCTION NewMovieTrack(m: Movie;width: Fixed;height: Fixed;trackVolume: INTEGER): Track;
  600.  INLINE $303C,$188,$AAAA;
  601. PROCEDURE DisposeMovieTrack(t: Track);
  602.  INLINE $303C,$42,$AAAA;
  603.  
  604.  
  605. {  Track Routines  }
  606. FUNCTION GetTrackCreationTime(t: Track): LONGINT;
  607.  INLINE $303C,$43,$AAAA;
  608. FUNCTION GetTrackModificationTime(t: Track): LONGINT;
  609.  INLINE $303C,$44,$AAAA;
  610.  
  611. FUNCTION GetTrackEnabled(t: Track): BOOLEAN;
  612.  INLINE $303C,$45,$AAAA;
  613. PROCEDURE SetTrackEnabled(t: Track;isEnabled: BOOLEAN);
  614.  INLINE $303C,$46,$AAAA;
  615.  
  616. FUNCTION GetTrackUsage(t: Track): LONGINT;
  617.  INLINE $303C,$47,$AAAA;
  618. PROCEDURE SetTrackUsage(t: Track;usage: LONGINT);
  619.  INLINE $303C,$48,$AAAA;
  620.  
  621. FUNCTION GetTrackDuration(t: Track): TimeValue;
  622.  INLINE $303C,$4B,$AAAA;
  623.  
  624. FUNCTION GetTrackOffset(t: Track): TimeValue;
  625.  INLINE $303C,$4C,$AAAA;
  626. PROCEDURE SetTrackOffset(t: Track;offset: TimeValue);
  627.  INLINE $303C,$4D,$AAAA;
  628.  
  629. FUNCTION GetTrackLayer(t: Track): INTEGER;
  630.  INLINE $303C,$50,$AAAA;
  631. PROCEDURE SetTrackLayer(t: Track;layer: INTEGER);
  632.  INLINE $303C,$51,$AAAA;
  633.  
  634. FUNCTION GetTrackAlternate(t: Track): Track;
  635.  INLINE $303C,$52,$AAAA;
  636. PROCEDURE SetTrackAlternate(t: Track;alternateT: Track);
  637.  INLINE $303C,$53,$AAAA;
  638.  
  639. PROCEDURE SetAutoTrackAlternatesEnabled(m: Movie;enable: BOOLEAN);
  640.  INLINE $303C,$15E,$AAAA;
  641. PROCEDURE SelectMovieAlternates(m: Movie);
  642.  INLINE $303C,$15F,$AAAA;
  643.  
  644. FUNCTION GetTrackVolume(t: Track): INTEGER;
  645.  INLINE $303C,$54,$AAAA;
  646. PROCEDURE SetTrackVolume(t: Track;volume: INTEGER);
  647.  INLINE $303C,$55,$AAAA;
  648.  
  649. PROCEDURE GetTrackMatrix(t: Track;VAR matrix: MatrixRecord);
  650.  INLINE $303C,$56,$AAAA;
  651. PROCEDURE SetTrackMatrix(t: Track;matrix: MatrixRecord);
  652.  INLINE $303C,$57,$AAAA;
  653.  
  654. PROCEDURE GetTrackDimensions(t: Track;VAR width: Fixed;VAR height: Fixed);
  655.  INLINE $303C,$5D,$AAAA;
  656. PROCEDURE SetTrackDimensions(t: Track;width: Fixed;height: Fixed);
  657.  INLINE $303C,$5E,$AAAA;
  658.  
  659. FUNCTION GetTrackUserData(t: Track): UserData;
  660.  INLINE $303C,$5F,$AAAA;
  661.  
  662.  
  663. {  Media creation Routines  }
  664. FUNCTION NewTrackMedia(t: Track;mediaType: OSType;timeScale: TimeScale;
  665.  dataRef: Handle;dataRefType: OSType): Media;
  666.  INLINE $303C,$18E,$AAAA;
  667. PROCEDURE DisposeTrackMedia(m: Media);
  668.  INLINE $303C,$61,$AAAA;
  669. FUNCTION GetTrackMedia(t: Track): Media;
  670.  INLINE $303C,$62,$AAAA;
  671. FUNCTION GetMediaTrack(m: Media): Track;
  672.  INLINE $303C,$C5,$AAAA;
  673.  
  674.  
  675. {  Media Routines  }
  676. FUNCTION GetMediaCreationTime(m: Media): LONGINT;
  677.  INLINE $303C,$66,$AAAA;
  678. FUNCTION GetMediaModificationTime(m: Media): LONGINT;
  679.  INLINE $303C,$67,$AAAA;
  680.  
  681. FUNCTION GetMediaTimeScale(m: Media): TimeScale;
  682.  INLINE $303C,$68,$AAAA;
  683. PROCEDURE SetMediaTimeScale(m: Media;timeScale: TimeScale);
  684.  INLINE $303C,$69,$AAAA;
  685.  
  686. FUNCTION GetMediaDuration(m: Media): TimeValue;
  687.  INLINE $303C,$6A,$AAAA;
  688.  
  689. FUNCTION GetMediaLanguage(m: Media): INTEGER;
  690.  INLINE $303C,$6B,$AAAA;
  691. PROCEDURE SetMediaLanguage(m: Media;language: INTEGER);
  692.  INLINE $303C,$6C,$AAAA;
  693.  
  694. FUNCTION GetMediaQuality(m: Media): INTEGER;
  695.  INLINE $303C,$6D,$AAAA;
  696. PROCEDURE SetMediaQuality(m: Media;quality: INTEGER);
  697.  INLINE $303C,$6E,$AAAA;
  698. PROCEDURE GetMediaHandlerDescription(m: Media;VAR mediaType: OSType;VAR creatorName: Str255;
  699.  VAR creatorManufacturer: OSType);
  700.  INLINE $303C,$6F,$AAAA;
  701.  
  702. FUNCTION GetMediaUserData(m: Media): UserData;
  703.  INLINE $303C,$70,$AAAA;
  704.  
  705. {  Media Handler Routines  }
  706. FUNCTION GetMediaHandler(m: Media): MediaHandler;
  707.  INLINE $303C,$71,$AAAA;
  708. FUNCTION SetMediaHandler(m: Media;mH: MediaHandlerComponent): OSErr;
  709.  INLINE $303C,$190,$AAAA;
  710.  
  711. { Media's Data Routines }
  712. FUNCTION BeginMediaEdits(m: Media): OSErr;
  713.  INLINE $303C,$72,$AAAA;
  714. FUNCTION EndMediaEdits(m: Media): OSErr;
  715.  INLINE $303C,$73,$AAAA;
  716. PROCEDURE GetMediaDataHandlerDescription(m: Media;index: INTEGER;VAR dhType: OSType;
  717.     VAR creatorName: Str255;VAR creatorManufacturer: OSType);
  718.     INLINE $303C,$19E,$AAAA;
  719. {  Media data handler Routines  }
  720. FUNCTION GetMediaDataHandler(m: Media;index: INTEGER): DataHandler;
  721.  INLINE $303C,$19F,$AAAA;
  722. FUNCTION SetMediaDataHandler(m: Media;index: INTEGER; dataHandler: DataHandlerComponent): OSErr;
  723.  INLINE $303C,$1A0,$AAAA;
  724.  
  725. {  Media sample Routines  }
  726. FUNCTION GetMediaSampleDescriptionCount(m: Media): LONGINT;
  727.  INLINE $303C,$77,$AAAA;
  728. PROCEDURE GetMediaSampleDescription(m: Media;index: LONGINT;descH: SampleDescriptionHandle);
  729.  INLINE $303C,$78,$AAAA;
  730. FUNCTION GetMediaSampleCount(m: Media): LONGINT;
  731.  INLINE $303C,$79,$AAAA;
  732. PROCEDURE SampleNumToMediaTime(m: Media;logicalSampleNum: LONGINT;VAR sampleTime: TimeValue;
  733.  VAR sampleDuration: TimeValue);
  734.  INLINE $303C,$7A,$AAAA;
  735. PROCEDURE MediaTimeToSampleNum(m: Media;time: TimeValue;VAR sampleNum: LONGINT;
  736.  VAR sampleTime: TimeValue;VAR sampleDuration: TimeValue);
  737.  INLINE $303C,$7B,$AAAA;
  738. FUNCTION AddMediaSample(m: Media;dataIn: Handle;inOffset: LONGINT;size: LONGINT;
  739.  durationPerSample: TimeValue;sampleDescriptionH: SampleDescriptionHandle;
  740.  numberOfSamples: LONGINT;sampleFlags: INTEGER;VAR sampleTime: TimeValue): OSErr;
  741.  INLINE $303C,$7C,$AAAA;
  742. FUNCTION AddMediaSampleReference(m: Media;dataOffset: LONGINT;size: LONGINT;
  743.  durationPerSample: TimeValue;sampleDescriptionH: SampleDescriptionHandle;
  744.  numberOfSamples: LONGINT;sampleFlags: INTEGER;VAR sampleTime: TimeValue): OSErr;
  745.  INLINE $303C,$7D,$AAAA;
  746. FUNCTION GetMediaSample(m: Media;dataOut: Handle;maxSizeToGrow: LONGINT;
  747.  VAR size: LONGINT;time: TimeValue;VAR sampleTime: TimeValue;VAR durationPerSample: TimeValue;
  748.  sampleDescriptionH: SampleDescriptionHandle;VAR sampleDescriptionIndex: LONGINT;
  749.  maxNumberOfSamples: LONGINT;VAR numberOfSamples: LONGINT;VAR sampleFlags: INTEGER): OSErr;
  750.  INLINE $303C,$7E,$AAAA;
  751. FUNCTION GetMediaSampleReference(m: Media;VAR dataOffset: LONGINT;VAR size: LONGINT;
  752.  time: TimeValue;VAR sampleTime: TimeValue;VAR durationPerSample: TimeValue;
  753.  sampleDescriptionH: SampleDescriptionHandle;VAR sampleDescriptionIndex: LONGINT;
  754.  maxNumberOfSamples: LONGINT;VAR numberOfSamples: LONGINT;VAR sampleFlags: INTEGER): OSErr;
  755.  INLINE $303C,$7F,$AAAA;
  756.  
  757. FUNCTION SetMediaShadowSync(m: Media; frameDiffSampleNum: LONGINT; syncSampleNum: LONGINT): OSErr;
  758.  INLINE $303C,$121,$AAAA;
  759. FUNCTION GetMediaShadowSync(m: Media; frameDiffSampleNum: LONGINT; VAR syncSampleNum: LONGINT): OSErr;
  760.  INLINE $303C,$122,$AAAA;
  761.  
  762. {  low-level Editing Routines  }
  763. FUNCTION InsertMediaIntoTrack(t: Track;trackStart: TimeValue;mediaTime: TimeValue;
  764.  mediaDuration: TimeValue;mediaRate: Fixed): OSErr;
  765.  INLINE $303C,$183,$AAAA;
  766.  
  767. {  Middle-level Editing Routines  }
  768. FUNCTION InsertTrackSegment(srcTrack: Track;dstTrack: Track;srcIn: TimeValue;
  769.  srcDuration: TimeValue;dstIn: TimeValue): OSErr;
  770.  INLINE $303C,$85,$AAAA;
  771. FUNCTION InsertMovieSegment(srcMovie: Movie;dstMovie: Movie;srcIn: TimeValue;
  772.  srcDuration: TimeValue;dstIn: TimeValue): OSErr;
  773.  INLINE $303C,$86,$AAAA;
  774. FUNCTION InsertEmptyTrackSegment(dstTrack: Track;dstIn: TimeValue;dstDuration: TimeValue): OSErr;
  775.  INLINE $303C,$87,$AAAA;
  776. FUNCTION InsertEmptyMovieSegment(dstMovie: Movie;dstIn: TimeValue;dstDuration: TimeValue): OSErr;
  777.  INLINE $303C,$88,$AAAA;
  778. FUNCTION DeleteTrackSegment(t: Track;dstIn: TimeValue;duration: TimeValue): OSErr;
  779.  INLINE $303C,$89,$AAAA;
  780. FUNCTION DeleteMovieSegment(m: Movie;dstIn: TimeValue;duration: TimeValue): OSErr;
  781.  INLINE $303C,$8A,$AAAA;
  782. FUNCTION ScaleTrackSegment(t: Track;dstIn: TimeValue;oldDuration: TimeValue;
  783.  newDuration: TimeValue): OSErr;
  784.  INLINE $303C,$8B,$AAAA;
  785. FUNCTION ScaleMovieSegment(m: Movie;dstIn: TimeValue;oldDuration: TimeValue;
  786.  newDuration: TimeValue): OSErr;
  787.  INLINE $303C,$8C,$AAAA;
  788.  
  789. {  High level editing Routines  }
  790. FUNCTION CutMovieSelection(m: Movie): Movie;
  791.  INLINE $303C,$8D,$AAAA;
  792. FUNCTION CopyMovieSelection(m: Movie): Movie;
  793.  INLINE $303C,$8E,$AAAA;
  794. PROCEDURE PasteMovieSelection(m: Movie;src: Movie);
  795.  INLINE $303C,$8F,$AAAA;
  796. PROCEDURE AddMovieSelection(m: Movie;src: Movie);
  797.  INLINE $303C,$152,$AAAA;
  798. PROCEDURE ClearMovieSelection(m: Movie);
  799.  INLINE $303C,$E1,$AAAA;
  800. FUNCTION PasteHandleIntoMovie(h: Handle; handleType: OSType; m: Movie; flags: LONGINT; userComp: ComponentInstance): OSErr;
  801.  INLINE $303C,$CB,$AAAA;
  802. FUNCTION PutMovieIntoTypedHandle(m: Movie; targetTrack: Track; handleType: OSType; publicMovie: Handle;
  803.  start: TimeValue; dur: TimeValue; flags: LONGINT; userComp: ComponentInstance): OSErr;
  804.  INLINE $303C,$1CD,$AAAA;
  805. FUNCTION IsScrapMovie(targetTrack: Track): Component;
  806.  INLINE $303C,$CC,$AAAA;
  807.  
  808. FUNCTION CopyTrackSettings(srcTrack: Track;dstTrack: Track): OSErr;
  809.  INLINE $303C,$153,$AAAA;
  810. FUNCTION CopyMovieSettings(srcMovie: Movie;dstMovie: Movie): OSErr;
  811.  INLINE $303C,$154,$AAAA;
  812.  
  813. {  movie & track edit state Routines  }
  814. FUNCTION NewMovieEditState(m: Movie): MovieEditState;
  815.  INLINE $303C,$104,$AAAA;
  816. FUNCTION UseMovieEditState(m: Movie;toState: MovieEditState): OSErr;
  817.  INLINE $303C,$105,$AAAA;
  818. FUNCTION DisposeMovieEditState(state: MovieEditState): OSErr;
  819.  INLINE $303C,$106,$AAAA;
  820.  
  821. FUNCTION NewTrackEditState(t: Track): TrackEditState;
  822.  INLINE $303C,$107,$AAAA;
  823. FUNCTION UseTrackEditState(t: Track;state: TrackEditState): OSErr;
  824.  INLINE $303C,$108,$AAAA;
  825. FUNCTION DisposeTrackEditState(state: TrackEditState): OSErr;
  826.  INLINE $303C,$109,$AAAA;
  827.  
  828. FUNCTION ConvertFileToMovieFile(inputFile: FSSpec; outputFile: FSSpec; creator: OSType;
  829.  scriptTag: ScriptCode; VAR resID: INTEGER; flags: LONGINT; userComp: ComponentInstance;
  830.  proc: ProcPtr; refCon: LONGINT): OSErr;
  831.  INLINE $303C,$1CB,$AAAA;
  832. FUNCTION ConvertMovieToFile(theMovie: Movie; onlyTrack: Track; outputFile: FSSpec;
  833.  fileType: OSType; creator: OSType; scriptTag: ScriptCode; VAR resID: INTEGER;
  834.  flags: LONGINT; userComp: ComponentInstance): OSErr;
  835.  INLINE $303C,$1CC,$AAAA;
  836.  
  837. {  Miscellaneous Routines  }
  838. FUNCTION TrackTimeToMediaTime(value: TimeValue;t: Track): TimeValue;
  839.  INLINE $303C,$96,$AAAA;
  840. FUNCTION GetTrackEditRate(t: Track;atTime: TimeValue): Fixed;
  841.  INLINE $303C,$123,$AAAA;
  842.  
  843. FUNCTION GetMovieDataSize(m: Movie;startTime: TimeValue;duration: TimeValue): LONGINT;
  844.  INLINE $303C,$98,$AAAA;
  845. FUNCTION GetTrackDataSize(t: Track;startTime: TimeValue;duration: TimeValue): LONGINT;
  846.  INLINE $303C,$149,$AAAA;
  847. FUNCTION GetMediaDataSize(m: Media;startTime: TimeValue;duration: TimeValue): LONGINT;
  848.  INLINE $303C,$99,$AAAA;
  849.  
  850. FUNCTION PtInMovie(m: Movie;pt: Point): BOOLEAN;
  851.  INLINE $303C,$9A,$AAAA;
  852. FUNCTION PtInTrack(t: Track;pt: Point): BOOLEAN;
  853.  INLINE $303C,$9B,$AAAA;
  854.  
  855.  
  856. {  Alternate Group Selection Routines  }
  857. PROCEDURE SetMovieLanguage(m: Movie;language: LONGINT);
  858.  INLINE $303C,$9C,$AAAA;
  859.  
  860.  
  861. {  UserData Routines  }
  862. FUNCTION GetUserData(u: UserData;data: Handle;udType: OSType;index: LONGINT): OSErr;
  863.  INLINE $303C,$9E,$AAAA;
  864. FUNCTION AddUserData(u: UserData;data: Handle;udType: OSType): OSErr;
  865.  INLINE $303C,$9F,$AAAA;
  866. FUNCTION RemoveUserData(u: UserData;udType: OSType;index: LONGINT): OSErr;
  867.  INLINE $303C,$A0,$AAAA;
  868. FUNCTION CountUserDataType(userDataH: UserData;udType: OSType): INTEGER;
  869.  INLINE $303C,$14B,$AAAA;
  870. { New UserData routines }
  871. FUNCTION GetNextUserDataType(userDataH: UserData;udType: OSType): OSType;
  872.  INLINE $303C,$1A5,$AAAA;
  873. FUNCTION GetUserDataItem(userDataH: UserData;data: Ptr;size: LONGINT;dataType: OSType;index: LONGINT): OSErr;
  874.  INLINE $303C,$126,$AAAA;
  875. FUNCTION SetUserDataItem(userDataH: UserData;data: Ptr;size: LONGINT;dataType: OSType;index: LONGINT): OSErr;
  876.  INLINE $303C,$12E,$AAAA;
  877.  
  878.  
  879. FUNCTION AddUserDataText(u: UserData;data: Handle;udType: OSType;index: LONGINT;
  880.  itlRegionTag: INTEGER): OSErr;
  881.  INLINE $303C,$14C,$AAAA;
  882. FUNCTION GetUserDataText(u: UserData;data: Handle;udType: OSType;index: LONGINT;
  883.  itlRegionTag: INTEGER): OSErr;
  884.  INLINE $303C,$14D,$AAAA;
  885. FUNCTION RemoveUserDataText(u: UserData;udType: OSType;index: LONGINT;itlRegionTag: INTEGER): OSErr;
  886.  INLINE $303C,$14E,$AAAA;
  887.  
  888. FUNCTION NewUserData(VAR ud: UserData): OSErr;
  889.  INLINE $303C,$12F,$AAAA;
  890. FUNCTION DisposeUserData(ud: UserData): OSErr;
  891.  INLINE $303C,$130,$AAAA;
  892. FUNCTION NewUserDataFromHandle(h: Handle; VAR ud: UserData): OSErr;
  893.  INLINE $303C,$131,$AAAA;
  894. FUNCTION PutUserDataIntoHandle(ud: UserData; h: Handle): OSErr;
  895.  INLINE $303C,$132,$AAAA;
  896.  
  897.  
  898. {  interesting time Routines  }
  899. PROCEDURE GetMediaNextInterestingTime(m: Media;interestingTimeFlags: INTEGER;
  900.  time: TimeValue;rate: Fixed;VAR interestingTime: TimeValue;VAR interestingDuration: TimeValue);
  901.  INLINE $303C,$16D,$AAAA;
  902. PROCEDURE GetTrackNextInterestingTime(t: Track;interestingTimeFlags: INTEGER;
  903.  time: TimeValue;rate: Fixed;VAR interestingTime: TimeValue;VAR interestingDuration: TimeValue);
  904.  INLINE $303C,$E2,$AAAA;
  905. PROCEDURE GetMovieNextInterestingTime(m: Movie;interestingTimeFlags: INTEGER;
  906.  numMediaTypes: INTEGER; whichMediaTypes: OSTypePtr;time: TimeValue;rate: Fixed;
  907.  VAR interestingTime: TimeValue;VAR interestingDuration: TimeValue);
  908.  INLINE $303C,$10E,$AAAA;
  909.  
  910.  
  911. {  movie file Routines  }
  912. FUNCTION CreateMovieFile(fileSpec: FSSpec;creator: OSType;scriptTag: ScriptCode;
  913.  createMovieFileFlags: LONGINT;VAR resRefNum: INTEGER;VAR newMovie: Movie): OSErr;
  914.  INLINE $303C,$191,$AAAA;
  915.  
  916. FUNCTION OpenMovieFile(fileSpec: FSSpec;VAR resRefNum: INTEGER;perms: SignedByte): OSErr;
  917.  INLINE $303C,$192,$AAAA;
  918. FUNCTION CloseMovieFile(resRefNum: INTEGER): OSErr;
  919.  INLINE $303C,$D5,$AAAA;
  920.  
  921. FUNCTION DeleteMovieFile(fileSpec: FSSpec): OSErr;
  922.  INLINE $303C,$175,$AAAA;
  923.  
  924. FUNCTION NewMovieFromFile(VAR m: Movie;resRefNum: INTEGER;VAR resId: INTEGER;
  925.  resName: STR255;newMovieFlags: INTEGER;VAR dataRefWasChanged: BOOLEAN): OSErr;
  926.  INLINE $303C,$F0,$AAAA;
  927. {  movie creation Routines  }
  928. FUNCTION NewMovieFromHandle(VAR m:Movie; h: Handle;newMovieFlags: INTEGER;VAR dataRefWasChanged: BOOLEAN): OSErr;
  929.  INLINE $303C,$F1,$AAAA;
  930. FUNCTION NewMovieFromDataFork(VAR m:Movie; fRefNum: INTEGER; fileOffset: LONGINT;
  931.  flags: INTEGER; VAR dataRefWasChanged: BOOLEAN): OSErr;
  932.  INLINE $303C,$110,$AAAA;
  933.  
  934. FUNCTION AddMovieResource(m: Movie;resRefNum: INTEGER;VAR resId: INTEGER;
  935.  resName: STR255): OSErr;
  936.  INLINE $303C,$D7,$AAAA;
  937. FUNCTION RemoveMovieResource(resRefNum: INTEGER;resId: INTEGER): OSErr;
  938.  INLINE $303C,$176,$AAAA;
  939. FUNCTION UpdateMovieResource(m: Movie;resRefNum: INTEGER;resId: INTEGER;
  940.  resName: STR255): OSErr;
  941.  INLINE $303C,$D8,$AAAA;
  942.  
  943. FUNCTION HasMovieChanged(m: Movie): BOOLEAN;
  944.  INLINE $303C,$D9,$AAAA;
  945. PROCEDURE ClearMovieChanged(m: Movie);
  946.  INLINE $303C,$113,$AAAA;
  947.  
  948. FUNCTION SetMovieDefaultDataRef(theMovie:Movie; dataRef:Handle; dataRefType:OSType):OSErr;
  949.  INLINE $303C,$1C1,$AAAA;
  950. FUNCTION GetMovieDefaultDataRef(theMovie:Movie; VAR dataRef:Handle; VAR dataRefType:OSType):OSErr;
  951.  INLINE $303C,$1D2,$AAAA;
  952.  
  953. PROCEDURE FlattenMovie(m: Movie;movieFlattenFlags: LONGINT;theFile: FSSpec;
  954.  creator: OSType;scriptTag: ScriptCode;createMovieFileFlags: LONGINT;VAR resId: INTEGER;
  955.  resName: STR255);
  956.  INLINE $303C,$19B,$AAAA;
  957. FUNCTION FlattenMovieData(m: Movie;movieFlattenFlags: LONGINT;theFile: FSSpec;
  958.  creator: OSType;scriptTag: ScriptCode;createMovieFileFlags: LONGINT): Movie;
  959.  INLINE $303C,$19C,$AAAA;
  960. PROCEDURE SetMovieProgressProc(m: Movie;p: MovieProgressProcPtr;refCon: LONGINT);
  961.  INLINE $303C,$19A,$AAAA;
  962.  
  963.  
  964. {  Video Media Routines  }
  965. FUNCTION GetVideoMediaGraphicsMode(mh: MediaHandler;VAR graphicsMode: LONGINT;
  966.  VAR opColor: RGBColor): HandlerError;
  967.  INLINE $2F3C,$8,$101,$7000,$A82A;
  968. FUNCTION SetVideoMediaGraphicsMode(mh: MediaHandler;graphicsMode: LONGINT;
  969.  opColor: RGBColor): HandlerError;
  970.  INLINE $2F3C,$8,$102,$7000,$A82A;
  971.  
  972.  
  973. {  Sound Media Routines  }
  974. FUNCTION GetSoundMediaBalance(mh: MediaHandler;VAR balance: INTEGER): HandlerError;
  975.  INLINE $2F3C,$4,$101,$7000,$A82A;
  976. FUNCTION SetSoundMediaBalance(mh: MediaHandler;balance: INTEGER): HandlerError;
  977.  INLINE $2F3C,$2,$102,$7000,$A82A;
  978.  
  979. CONST
  980. txtProcDefaultDisplay = 0;
  981. txtProcDontDisplay = 1;
  982. txtProcDoDisplay = 2;
  983.  
  984. {  Text Media Routines  }
  985. FUNCTION SetTextProc(mh: MediaHandler;TextProc: ProcPtr): ComponentResult;
  986.  INLINE $2F3C,$8,$101,$7000,$A82A;
  987. FUNCTION AddTextSample(mh: MediaHandler;text: Ptr;size: LONGINT; fontNumber: INTEGER;
  988.  fontSize: INTEGER; textFace: Style; textColor: RGBColor; backColor: RGBColor;
  989.  textJustification: LONGINT; textBox: Rect; displayFlags: LONGINT; shrinkTextBoxToFit: Boolean;
  990.  selStart: LONGINT; selEnd: LONGINT; duration: TimeValue; VAR sampleTime: TimeValue): ComponentResult;
  991.  INLINE $2F3C,$34,$102,$7000,$A82A;
  992. FUNCTION AddTESample(mh: MediaHandler;hTE: TEHandle; backColor: RGBColor;
  993.  textJustification: LONGINT; textBox: Rect; displayFlags: LONGINT; shrinkTextBoxToFit: Boolean;
  994.  selStart: LONGINT; selEnd: LONGINT; duration: TimeValue; VAR sampleTime: TimeValue): ComponentResult;
  995.  INLINE $2F3C,$26,$103,$7000,$A82A;
  996. FUNCTION AddHiliteSample(mh: MediaHandler;selStart: LONGINT; selEnd: LONGINT;
  997.  duration: TimeValue; VAR sampleTime: TimeValue): ComponentResult;
  998.  INLINE $2F3C,$10,$104,$7000,$A82A;
  999.  
  1000. CONST
  1001. findTextEdgeOK = 1;            { Okay to find text at specified sample time }
  1002. findTextCaseSensitive = 2;    { Case sensitive search }
  1003. findTextReverseSearch = 4;    { Search from sampleTime backwards }
  1004. findTextWrapAround = 8;        { Wrap search when beginning or end of movie is hit }
  1005.  
  1006. FUNCTION FindNextText(mh:MediaHandler;text:Ptr; size:LONGINT; findFlags:INTEGER;
  1007.     startTime:TimeValue;VAR foundTime:TimeValue; VAR foundDuration :TimeValue; VAR offset:LONGINT):ComponentResult;
  1008.  INLINE $2F3C,$1A,$105,$7000,$A82A;
  1009.  
  1010. FUNCTION HiliteTextSample(mh :MediaHandler; sampleTime:TimeValue; hiliteStart:INTEGER;
  1011.      hiliteEnd :INTEGER;VAR rgbHiliteColor:RGBColor):ComponentResult;
  1012.  INLINE $2F3C,$C,$106,$7000,$A82A;
  1013.  
  1014. {  movie poster box  }
  1015. PROCEDURE GetPosterBox(m: Movie;VAR boxRect: Rect);
  1016.  INLINE $303C,$16F,$AAAA;
  1017. PROCEDURE SetPosterBox(m: Movie;boxRect: Rect);
  1018.  INLINE $303C,$170,$AAAA;
  1019.  
  1020. {  movie/track bounds over a range of time  }
  1021. FUNCTION GetMovieSegmentDisplayBoundsRgn(m: Movie;time: TimeValue;duration: TimeValue): RgnHandle;
  1022.  INLINE $303C,$16C,$AAAA;
  1023. FUNCTION GetTrackSegmentDisplayBoundsRgn(t: Track;time: TimeValue;
  1024.  duration: TimeValue): RgnHandle;
  1025.  INLINE $303C,$16B,$AAAA;
  1026.  
  1027. PROCEDURE SetMovieCoverProcs(m: Movie;uncoverProc: MovieRgnCoverProc;coverProc: MovieRgnCoverProc;
  1028.  refCon: LONGINT);
  1029.  INLINE $303C,$179,$AAAA;
  1030.  
  1031. FUNCTION GetTrackStatus(t: Track): ComponentResult;
  1032.  INLINE $303C,$172,$AAAA;
  1033. FUNCTION GetMovieStatus(m: Movie;VAR firstProblemTrack: Track): ComponentResult;
  1034.  INLINE $303C,$173,$AAAA;
  1035.  
  1036. {  target management  }
  1037. FUNCTION NewMovieController(m: Movie;movieRect: Rect;controllerCreationFlags: LONGINT): MovieController;
  1038.  INLINE $303C,$18A,$AAAA;
  1039. PROCEDURE DisposeMovieController(mc: MovieController);
  1040.  INLINE $303C,$18B,$AAAA;
  1041.  
  1042. FUNCTION PutMovieOnScrap(m: Movie;movieScrapFlags: LONGINT): OSErr;
  1043.  INLINE $303C,$18C,$AAAA;
  1044. FUNCTION NewMovieFromScrap(newMovieFlags: LONGINT): Movie;
  1045.  INLINE $303C,$18D,$AAAA;
  1046.  
  1047. CONST
  1048. dataRefSelfReference = 1;
  1049. dataRefWasNotResolved = 2;
  1050.  
  1051. TYPE
  1052. dataRefAttributesFlags = LONGINT;
  1053.  
  1054. {  Media dataRef Routines  }
  1055. FUNCTION GetMediaDataRef(m: Media;index: INTEGER;VAR dataRef: Handle;VAR dataRefType: OSType;
  1056.  VAR dataRefAttributes: LONGINT): OSErr;
  1057.  INLINE $303C,$197,$AAAA;
  1058. FUNCTION AddMediaDataRef(m: Media;VAR index: INTEGER;dataRef: Handle;dataRefType: OSType): OSErr;
  1059.  INLINE $303C,$198,$AAAA;
  1060. FUNCTION SetMediaDataRef(m: Media;index: INTEGER;blob: Handle; blobType: OSType): OSType;
  1061.  INLINE $303C,$1C9,$AAAA;
  1062. FUNCTION SetMediaDataRefAttributes(m: Media;index: INTEGER;attributes: LONGINT): OSType;
  1063.  INLINE $303C,$1CA,$AAAA;
  1064. FUNCTION GetMediaDataRefCount(m: Media;VAR count: INTEGER): OSErr;
  1065.  INLINE $303C,$199,$AAAA;
  1066.  
  1067. PROCEDURE SetMediaPlayHints( movie:Movie; flags:LONGINT; flagsMask:LONGINT );
  1068.  INLINE $303C,$1A2,$AAAA;
  1069. PROCEDURE SetMoviePlayHints(movie:Movie; flags:LONGINT; flagsMask:LONGINT );
  1070.  INLINE $303C,$1A1,$AAAA;
  1071.  
  1072. CONST
  1073. firstMoviesError = -2000;
  1074. couldNotResolveDataRef = -2000;
  1075. badImageDescription = -2001;
  1076. badPublicMovieAtom = -2002;
  1077. cantFindHandler = -2003;
  1078. cantOpenHandler = -2004;
  1079. badComponentType = -2005;
  1080. noMediaHandler = -2006;
  1081. noDataHandler = -2007;
  1082. invalidMedia = -2008;
  1083. invalidTrack = -2009;
  1084. invalidMovie = -2010;
  1085. invalidSampleTable = -2011;
  1086. invalidDataRef = -2012;
  1087. invalidHandler = -2013;
  1088. invalidDuration = -2014;
  1089. invalidTime = -2015;
  1090. cantPutPublicMovieAtom = -2016;
  1091. badEditList = -2017;
  1092. mediaTypesDontMatch = -2018;
  1093. progressProcAborted = -2019;
  1094. movieToolboxUninitialized = -2020;
  1095. wfFileNotFound = -2021;
  1096. cantCreateSingleForkFile = -2022;
  1097. invalidEditState = -2023;
  1098. nonMatchingEditState = -2024;
  1099. staleEditState = -2025;
  1100. userDataItemNotFound = -2026;
  1101. maxSizeToGrowTooSmall = -2027;
  1102. badTrackIndex = -2028;
  1103. trackIDNotFound = -2029;
  1104. trackNotInMovie = -2030;
  1105. timeNotInTrack = -2031;
  1106. timeNotInMedia = -2032;
  1107. badEditIndex = -2033;
  1108. internalQuickTimeError = -2034;
  1109. cantEnableTrack = -2035;
  1110. invalidRect = -2036;
  1111. invalidSampleNum = -2037;
  1112. invalidChunkNum = -2038;
  1113. invalidSampleDescIndex = -2039;
  1114. invalidChunkCache = -2040;
  1115. invalidSampleDescription = -2041;
  1116.  
  1117. { this should probably be in its own range for data handlers }
  1118. dataNotOpenForRead = -2042;
  1119. dataNotOpenForWrite = -2043;
  1120. dataAlreadyOpenForWrite = -2044;
  1121. dataAlreadyClosed = -2045;
  1122. endOfDataReached = -2046;
  1123. dataNoDataRef = -2047;
  1124.  
  1125. noMovieFound = -2048;
  1126. invalidDataRefContainer = -2049;
  1127. badDataRefIndex = -2050;
  1128. noDefaultDataRef = -2051;
  1129. couldNotUseAnExistingSample = -2052;
  1130. featureUnsupported = -2053;
  1131. unsupportedAuxiliaryImportData = -2057;
  1132. lastMoviesError = -2056;
  1133. noRecordOfApp = movieToolboxUninitialized;            {replica }
  1134.  
  1135.  
  1136. CONST
  1137.  
  1138. { Movie Controller Routines }
  1139. MovieControllerComponentType = 'play';
  1140.  
  1141. mcTopLeftMovie = $1;
  1142. mcScaleMovieToFit = $2;
  1143. mcWithBadge = $4;
  1144. mcNotVisible = $8;
  1145. mcWithFrame = $10;
  1146.  
  1147. mcActionIdle = 1;
  1148. mcActionDraw = 2;
  1149. mcActionActivate = 3;
  1150. mcActionDeactivate = 4;
  1151. mcActionMouseDown = 5;
  1152. mcActionKey = 6;
  1153. mcActionPlay = 8;
  1154. mcActionGoToTime = 12;
  1155. mcActionSetVolume = 14;
  1156. mcActionGetVolume = 15;
  1157. mcActionStep = 18;
  1158. mcActionSetLooping = 21;
  1159. mcActionGetLooping = 22;
  1160. mcActionSetLoopIsPalindrome = 23;
  1161. mcActionGetLoopIsPalindrome = 24;
  1162. mcActionSetGrowBoxBounds = 25;
  1163. mcActionControllerSizeChanged = 26;
  1164. mcActionSetSelectionBegin = 29;
  1165. mcActionSetSelectionDuration = 30;
  1166. mcActionSetPosterTime = 31;
  1167. mcActionSetKeysEnabled = 32;
  1168. mcActionGetKeysEnabled = 33;
  1169. mcActionSetPlaySelection = 34;
  1170. mcActionGetPlaySelection = 35;
  1171. mcActionSetUseBadge = 36;
  1172. mcActionGetUseBadge = 37;
  1173. mcActionSetFlags = 38;
  1174. mcActionGetFlags = 39;
  1175. mcActionSetPlayEveryFrame = 40;
  1176. mcActionGetPlayEveryFrame = 41;
  1177. mcActionGetPlayRate = 42;
  1178. mcActionShowBalloon = 43;
  1179. mcActionBadgeClick = 44;
  1180. mcActionMovieClick = 45;    { param is pointer to event record. change “what” to nullEvt to kill click }
  1181. mcActionSuspend = 46;        { no param }
  1182. mcActionResume = 47;        { no param }
  1183.  
  1184. TYPE
  1185. mcAction = INTEGER;
  1186.  
  1187. CONST
  1188. mcFlagSuppressMovieFrame = 1;
  1189. mcFlagSuppressStepButtons = 2;
  1190. mcFlagSuppressSpeakerButton = 4;
  1191. mcFlagsUseWindowPalette = 8;
  1192.  
  1193. mcPositionDontInvalidate = 32;
  1194.  
  1195. TYPE
  1196. mcFlags = LONGINT;
  1197. MCActionFilter = ProcPtr;
  1198. MCActionFilterWithRefCon = ProcPtr;
  1199.  
  1200. CONST
  1201. mcInfoUndoAvailable = $1;
  1202. mcInfoCutAvailable = $2;
  1203. mcInfoCopyAvailable = $4;
  1204. mcInfoPasteAvailable = $8;
  1205. mcInfoClearAvailable = $10;
  1206. mcInfoHasSound = $20;
  1207. mcInfoIsPlaying = $40;
  1208. mcInfoIsLooping = $80;
  1209. mcInfoIsInPalindrome = $100;
  1210. mcInfoEditingEnabled = $200;
  1211.  
  1212. { menu item codes }
  1213. mcMenuUndo = 1;
  1214. mcMenuCut = 3;
  1215. mcMenuCopy = 4;
  1216. mcMenuPaste = 5;
  1217. mcMenuClear = 6;
  1218.  
  1219. { movie controller error codes }
  1220. cannotMoveAttachedController = -9999;
  1221. controllerHasFixedHeight = -9998;
  1222. cannotSetWidthOfAttachedController = -9997;
  1223. controllerBoundsNotExact = -9996;
  1224. editingNotAllowed = -9995;
  1225. badControllerHeight = -9994;
  1226.  
  1227.  
  1228. FUNCTION MCSetMovie(mc: MovieController;m: Movie;movieWindow: WindowPtr;
  1229.  where: Point): ComponentResult;
  1230.  INLINE $2F3C,$C,$2,$7000,$A82A;
  1231. FUNCTION MCGetMovie(mc: MovieController): Movie;
  1232.  INLINE $4267, $2F3C,$2,$5,$7000,$A82A;
  1233. FUNCTION MCRemoveMovie(mc: MovieController): ComponentResult;
  1234.  INLINE $2F3C,$0,$6,$7000,$A82A;
  1235.  
  1236.  
  1237. {  event handling etc.  }
  1238. FUNCTION MCIsPlayerEvent(mc: MovieController;e: EventRecord): ComponentResult;
  1239.  INLINE $2F3C,$4,$7,$7000,$A82A;
  1240. FUNCTION MCSetActionFilter(mc: MovieController;filter: MCActionFilter): ComponentResult;
  1241.  INLINE $2F3C,$4,$8,$7000,$A82A;
  1242. FUNCTION MCDoAction(mc: MovieController;action: INTEGER;params: Ptr): ComponentResult;
  1243.  INLINE $2F3C,$6,$9,$7000,$A82A;
  1244.  
  1245.  
  1246. {  state type things  }
  1247. FUNCTION MCSetControllerAttached(mc: MovieController;attach: BOOLEAN): ComponentResult;
  1248.  INLINE $2F3C,$2,$A,$7000,$A82A;
  1249. FUNCTION MCIsControllerAttached(mc: MovieController): ComponentResult;
  1250.  INLINE $2F3C,$0,$B,$7000,$A82A;
  1251. FUNCTION MCSetControllerPort(mc: MovieController;gp: CGrafPtr): ComponentResult;
  1252.  INLINE $2F3C,$4,$C,$7000,$A82A;
  1253. FUNCTION MCGetControllerPort(mc: MovieController): CGrafPtr;
  1254.  INLINE $2F3C,$0,$D,$7000,$A82A;
  1255.  
  1256. FUNCTION MCSetVisible(mc: MovieController;show: BOOLEAN): ComponentResult;
  1257.  INLINE $2F3C,$2,$E,$7000,$A82A;
  1258. FUNCTION MCGetVisible(mc: MovieController): ComponentResult;
  1259.  INLINE $2F3C,$0,$F,$7000,$A82A;
  1260.  
  1261. FUNCTION MCGetControllerBoundsRect(mc: MovieController;VAR bounds: Rect): ComponentResult;
  1262.  INLINE $2F3C,$4,$10,$7000,$A82A;
  1263. FUNCTION MCSetControllerBoundsRect(mc: MovieController;bounds: Rect): ComponentResult;
  1264.  INLINE $2F3C,$4,$11,$7000,$A82A;
  1265. FUNCTION MCGetControllerBoundsRgn(mc: MovieController): RgnHandle;
  1266.  INLINE $2F3C,$0,$12,$7000,$A82A;
  1267. FUNCTION MCGetWindowRgn(mc: MovieController;w: WindowPtr): RgnHandle;
  1268.  INLINE $2F3C,$4,$13,$7000,$A82A;
  1269.  
  1270.  
  1271. {  other stuff  }
  1272. FUNCTION MCMovieChanged(mc: MovieController;m: Movie): ComponentResult;
  1273.  INLINE $2F3C,$4,$14,$7000,$A82A;
  1274. FUNCTION MCSetDuration(mc: MovieController;duration: TimeValue): ComponentResult;
  1275.  INLINE $2F3C,$4,$15,$7000,$A82A;
  1276. FUNCTION MCGetCurrentTime(mc: MovieController;VAR scale: TimeScale): TimeValue;
  1277.  INLINE $2F3C,$4,$16,$7000,$A82A;
  1278. FUNCTION MCNewAttachedController(mc: MovieController;m: Movie;w: WindowPtr;
  1279.  where: Point): ComponentResult;
  1280.  INLINE $2F3C,$C,$17,$7000,$A82A;
  1281.  
  1282.  
  1283. {  direct event handlers  }
  1284. FUNCTION MCDraw(mc: MovieController;w: WindowPtr): ComponentResult;
  1285.  INLINE $2F3C,$4,$18,$7000,$A82A;
  1286. FUNCTION MCActivate(mc: MovieController;w: WindowPtr;activate: BOOLEAN): ComponentResult;
  1287.  INLINE $2F3C,$6,$19,$7000,$A82A;
  1288. FUNCTION MCIdle(mc: MovieController): ComponentResult;
  1289.  INLINE $2F3C,$0,$1A,$7000,$A82A;
  1290. FUNCTION MCKey(mc: MovieController;key: SignedByte;modifiers: LONGINT): ComponentResult;
  1291.  INLINE $2F3C,$6,$1B,$7000,$A82A;
  1292. FUNCTION MCClick(mc: MovieController;w: WindowPtr;where: Point;when: LONGINT;
  1293.  modifiers: LONGINT): ComponentResult;
  1294.  INLINE $2F3C,$10,$1C,$7000,$A82A;
  1295.  
  1296.  
  1297. {   calls for editing  }
  1298. FUNCTION MCEnableEditing(mc: MovieController;enabled: BOOLEAN): ComponentResult;
  1299.  INLINE $2F3C,$2,$1D,$7000,$A82A;
  1300. FUNCTION MCIsEditingEnabled(mc: MovieController): LONGINT;
  1301.  INLINE $2F3C,$0,$1E,$7000,$A82A;
  1302. FUNCTION MCCopy(mc: MovieController): Movie;
  1303.  INLINE $2F3C,$0,$1F,$7000,$A82A;
  1304. FUNCTION MCCut(mc: MovieController): Movie;
  1305.  INLINE $2F3C,$0,$20,$7000,$A82A;
  1306. FUNCTION MCPaste(mc: MovieController;srcMovie: Movie): ComponentResult;
  1307.  INLINE $2F3C,$4,$21,$7000,$A82A;
  1308. FUNCTION MCClear(mc: MovieController): ComponentResult;
  1309.  INLINE $2F3C,$0,$22,$7000,$A82A;
  1310. FUNCTION MCUndo(mc: MovieController): ComponentResult;
  1311.  INLINE $2F3C,$0,$23,$7000,$A82A;
  1312. FUNCTION MCPositionController(mc: MovieController;VAR movieRect: Rect;VAR controllerRect: Rect;
  1313.  controllerCreationFlags: LONGINT): ComponentResult;
  1314.  INLINE $2F3C,$C,$24,$7000,$A82A;
  1315.  
  1316.  
  1317. {  menu related stuff  }
  1318. FUNCTION MCGetControllerInfo(mc: MovieController;VAR mcInfoFlags: LONGINT): ComponentResult;
  1319.  INLINE $2F3C,$4,$25,$7000,$A82A;
  1320.  
  1321. FUNCTION MCSetClip(mc:MovieController;theClip: RgnHandle;movieClip:RgnHandle):ComponentResult;
  1322. INLINE $2f3c,8,40,$7000,$a82a;
  1323. FUNCTION MCGetClip(mc:MovieController;VAR theClip: RgnHandle;VAR movieClip:RgnHandle):ComponentResult;
  1324. INLINE $2f3c,8,41,$7000,$a82a;
  1325.  
  1326. FUNCTION MCDrawBadge(mc:MovieController;movieRgn:RgnHandle;VAR badgeRgn:RgnHandle):ComponentResult;
  1327. INLINE $2f3c,8,42,$7000,$a82a;
  1328.  
  1329. FUNCTION MCSetUpEditMenu(mc: MovieController;modifiers: LONGINT; mh: MenuHandle): ComponentResult;
  1330.  INLINE $2F3C,$8,$2B,$7000,$A82A;
  1331. FUNCTION MCGetMenuString(mc: MovieController;modifiers: LONGINT; item: INTEGER; VAR aString:Str255): ComponentResult;
  1332.  INLINE $2F3C,$A,$2C,$7000,$A82A;
  1333. FUNCTION MCSetActionFilterWithRefCon (mc:MovieController; blob:MCActionFilterWithRefCon; refCon:LONGINT ):ComponentResult;
  1334. INLINE $2F3C,$8,$2D,$7000,$A82A;
  1335.  
  1336.  
  1337. CONST
  1338.  
  1339.  
  1340. { movie controller routine selectors }
  1341. kMCSetMovieSelect = 2;
  1342. kMCRemoveMovieSelect = 6;
  1343. kMCIsPlayerEventSelect = 7;
  1344. kMCSetActionFilterSelect = 8;
  1345. kMCDoActionSelect = 9;
  1346. kMCSetControllerAttachedSelect = $A;
  1347. kMCIsControllerAttachedSelect = $B;
  1348. kMCSetControllerPortSelect = $C;
  1349. kMCGetControllerPortSelect = $D;
  1350. kMCGetVisibleSelect = $E;
  1351. kMCSetVisibleSelect = $F;
  1352. kMCGetControllerBoundsRectSelect = $10;
  1353. kMCSetControllerBoundsRectSelect = $11;
  1354. kMCGetControllerBoundsRgnSelect = $12;
  1355. kMCGetWindowRgnSelect = $13;
  1356. kMCMovieChangedSelect = $14;
  1357. kMCSetDurationSelect = $15;
  1358. kMCGetCurrentTimeSelect = $16;
  1359. kMCNewAttachedControllerSelect = $17;
  1360. kMCDrawSelect = $18;
  1361. kMCActivateSelect = $19;
  1362. kMCIdleSelect = $1A;
  1363. kMCKeySelect = $1B;
  1364. kMCClickSelect = $1C;
  1365. kMCEnableEditingSelect = $1D;
  1366. kMCIsEditingEnabledSelect = $1E;
  1367. kMCCopySelect = $1F;
  1368. kMCCutSelect = $20;
  1369. kMCPasteSelect = $21;
  1370. kMCClearSelect = $22;
  1371. kMCUndoSelect = $23;
  1372. kMCPositionControllerSelect = $24;
  1373. kMCGetControllerInfoSelect = $25;
  1374. kMCSetClipSelect = $28;
  1375. kMCGetClipSelect = $29;
  1376. kMCDrawBadgeSelect = $2A;
  1377. kMCSetUpEditMenuSelect = $2B;
  1378. kMCGetMenuStringSelect = $2C;
  1379. kMCSetActionFilterWithRefConSelect = $2D;
  1380.  
  1381.  
  1382.  
  1383.  
  1384.  
  1385. {  TimeBase Routines  }
  1386. FUNCTION NewTimeBase: TimeBase;
  1387.  INLINE $303C,$A5,$AAAA;
  1388. PROCEDURE DisposeTimeBase(tb: TimeBase);
  1389.  INLINE $303C,$B6,$AAAA;
  1390.  
  1391. FUNCTION GetTimeBaseTime(tb: TimeBase;s: TimeScale;VAR out: TimeRecord): TimeValue;
  1392.  INLINE $303C,$A6,$AAAA;
  1393. PROCEDURE SetTimeBaseTime(tb: TimeBase;tr: TimeRecord);
  1394.  INLINE $303C,$A7,$AAAA;
  1395. PROCEDURE SetTimeBaseValue(tb: TimeBase;t: TimeValue;s: TimeScale);
  1396.  INLINE $303C,$A8,$AAAA;
  1397.  
  1398. FUNCTION GetTimeBaseRate(tb: TimeBase): Fixed;
  1399.  INLINE $303C,$A9,$AAAA;
  1400. PROCEDURE SetTimeBaseRate(tb: TimeBase;r: Fixed);
  1401.  INLINE $303C,$AA,$AAAA;
  1402.  
  1403. FUNCTION GetTimeBaseStartTime(tb: TimeBase;s: TimeScale;VAR out: TimeRecord): TimeValue;
  1404.  INLINE $303C,$AB,$AAAA;
  1405. PROCEDURE SetTimeBaseStartTime(tb: TimeBase;tr: TimeRecord);
  1406.  INLINE $303C,$AC,$AAAA;
  1407. FUNCTION GetTimeBaseStopTime(tb: TimeBase;s: TimeScale;VAR out: TimeRecord): TimeValue;
  1408.  INLINE $303C,$AD,$AAAA;
  1409. PROCEDURE SetTimeBaseStopTime(tb: TimeBase;tr: TimeRecord);
  1410.  INLINE $303C,$AE,$AAAA;
  1411.  
  1412. FUNCTION GetTimeBaseFlags(tb: TimeBase): LONGINT;
  1413.  INLINE $303C,$B1,$AAAA;
  1414. PROCEDURE SetTimeBaseFlags(tb: TimeBase;timeBaseFlags: LONGINT);
  1415.  INLINE $303C,$B2,$AAAA;
  1416.  
  1417. PROCEDURE SetTimeBaseMasterTimeBase(slave: TimeBase;master: TimeBase;slaveZero: TimeRecord);
  1418.  INLINE $303C,$B4,$AAAA;
  1419. FUNCTION GetTimeBaseMasterTimeBase(tb: TimeBase): TimeBase;
  1420.  INLINE $303C,$AF,$AAAA;
  1421. PROCEDURE SetTimeBaseMasterClock(slave: TimeBase;clockMeister: Component;
  1422.  slaveZero: TimeRecord);
  1423.  INLINE $303C,$B3,$AAAA;
  1424. FUNCTION GetTimeBaseMasterClock(tb: TimeBase): ComponentInstance;
  1425.  INLINE $303C,$B0,$AAAA;
  1426.  
  1427. PROCEDURE ConvertTime(VAR inout: TimeRecord;newBase: TimeBase);
  1428.  INLINE $303C,$B5,$AAAA;
  1429. PROCEDURE ConvertTimeScale(VAR inout: TimeRecord;newScale: TimeScale);
  1430.  INLINE $303C,$B7,$AAAA;
  1431. PROCEDURE AddTime(VAR dst: TimeRecord;src: TimeRecord);
  1432.  INLINE $303C,$10C,$AAAA;
  1433. PROCEDURE SubtractTime(VAR dst: TimeRecord;src: TimeRecord);
  1434.  INLINE $303C,$10D,$AAAA;
  1435.  
  1436. FUNCTION GetTimeBaseStatus(tb: TimeBase;VAR unpinnedTime: TimeRecord): LONGINT;
  1437.  INLINE $303C,$10B,$AAAA;
  1438.  
  1439. PROCEDURE SetTimeBaseZero(tb: TimeBase;VAR zero: TimeRecord);
  1440.  INLINE $303C,$128,$AAAA;
  1441. FUNCTION GetTimeBaseEffectiveRate(tb:TimeBase):Fixed;
  1442.  INLINE $303C,$124,$AAAA;
  1443.  
  1444.  
  1445. {  CallBack Routines  }
  1446. FUNCTION NewCallBack(tb: TimeBase;cbType: INTEGER): QTCallBack;
  1447.  INLINE $303C,$EB,$AAAA;
  1448.  
  1449. PROCEDURE DisposeCallBack(qtCall: QTCallBack);
  1450.  INLINE $303C,$EC,$AAAA;
  1451.  
  1452. FUNCTION GetCallBackType(qtCall: QTCallBack): INTEGER;
  1453.  INLINE $303C,$ED,$AAAA;
  1454. FUNCTION GetCallBackTimeBase(qtCall: QTCallBack): TimeBase;
  1455.  INLINE $303C,$EE,$AAAA;
  1456.  
  1457. FUNCTION CallMeWhen(qtCall: QTCallBack;callBackProc: QTCallBackProc;refCon: LONGINT;
  1458.  param1: LONGINT;param2: LONGINT;param3: LONGINT): OSErr;
  1459.  INLINE $303C,$B8,$AAAA;
  1460.  
  1461. PROCEDURE CancelCallBack(cb: QTCallBack);
  1462.  INLINE $303C,$B9,$AAAA;
  1463.  
  1464.  
  1465. {  Clock CallBack support Routines  }
  1466. FUNCTION AddCallBackToTimeBase(cb: QTCallBack): OSErr;
  1467.  INLINE $303C,$129,$AAAA;
  1468. FUNCTION RemoveCallBackFromTimeBase(cb: QTCallBack): OSErr;
  1469.  INLINE $303C,$12A,$AAAA;
  1470. FUNCTION GetFirstCallBack(tb: TimeBase): QTCallBack;
  1471.  INLINE $303C,$12B,$AAAA;
  1472. FUNCTION GetNextCallBack(cb: QTCallBack): QTCallBack;
  1473.  INLINE $303C,$12C,$AAAA;
  1474. PROCEDURE ExecuteCallBack(cb: QTCallBack);
  1475.  INLINE $303C,$12D,$AAAA;
  1476.  
  1477.  
  1478. {$ENDC} { UsingMovies }
  1479.  
  1480. {$IFC NOT UsingIncludes}
  1481.  END.
  1482. {$ENDC}
  1483.  
  1484.